<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/api_versions</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>GET</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Get the current available versions for the Rest Endpoint. The client can choose one of the return version as the protocol for later communicate.</td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:util:GetApiVersionResponseBody",
  "properties" : {
    "versions" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/info</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>GET</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Get meta data for this cluster.</td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:util:GetInfoResponseBody",
  "properties" : {
    "productName" : {
      "type" : "string"
    },
    "version" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>POST</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Opens a new session with specific properties. Specific properties can be given for current session which will override the default properties of gateway.</td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:session:OpenSessionRequestBody",
  "properties" : {
    "properties" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "string"
      }
    },
    "sessionName" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:session:OpenSessionResponseBody",
  "properties" : {
    "sessionHandle" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>DELETE</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Closes the specific session.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:session:CloseSessionResponseBody",
  "properties" : {
    "status" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>GET</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Get the session configuration.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:session:GetSessionConfigResponseBody",
  "properties" : {
    "properties" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "string"
      }
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/heartbeat</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>POST</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Trigger heartbeat to tell the server that the client is active, and to keep the session alive as long as configured timeout value.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/operations/:operation_handle/cancel</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>POST</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Cancel the operation.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
<li><code>operation_handle</code> - The OperationHandle that identifies a operation.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:operation:OperationStatusResponseBody",
  "properties" : {
    "status" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/operations/:operation_handle/close</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>DELETE</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Close the operation.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
<li><code>operation_handle</code> - The OperationHandle that identifies a operation.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:operation:OperationStatusResponseBody",
  "properties" : {
    "status" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/operations/:operation_handle/result/:token</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>GET</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Fetch results of Operation.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
<li><code>operation_handle</code> - The OperationHandle that identifies a operation.</li>
<li><code>token</code> - The token that identifies which batch of data to fetch.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "any"
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/operations/:operation_handle/status</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>GET</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Get the status of operation.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
<li><code>operation_handle</code> - The OperationHandle that identifies a operation.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:operation:OperationStatusResponseBody",
  "properties" : {
    "status" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
<table class="rest-api table table-bordered">
  <tbody>
    <tr>
      <td class="text-left" colspan="2"><h5><strong>/sessions/:session_handle/statements</strong></h5></td>
    </tr>
    <tr>
      <td class="text-left" style="width: 20%">Verb: <code>POST</code></td>
      <td class="text-left">Response code: <code>200 OK</code></td>
    </tr>
    <tr>
      <td colspan="2">Execute a statement.</td>
    </tr>
    <tr>
      <td colspan="2">Path parameters</td>
    </tr>
    <tr>
      <td colspan="2">
        <ul>
<li><code>session_handle</code> - The SessionHandle that identifies a session.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Request</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:statement:ExecuteStatementRequestBody",
  "properties" : {
    "executionConfig" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "string"
      }
    },
    "executionTimeout" : {
      "type" : "integer"
    },
    "statement" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <label>
          <details>
          <summary>Response</summary>
          <pre><code>{
  "type" : "object",
  "id" : "urn:jsonschema:org:apache:flink:table:gateway:rest:message:statement:ExecuteStatementResponseBody",
  "properties" : {
    "operationHandle" : {
      "type" : "string"
    }
  }
}</code></pre>
        </label>
      </td>
    </tr>
  </tbody>
</table>
